/**
 * 1. 类型转换：
 *      将其他数据类型转换为：String、Number、Boolean（转换为Null和Undefined没有意义）
 *
 * 2. 强制类型转换：
 *      指将一个数据类型强制转换为其他数据类型
 *
 * 3. 将其他的数据类型转换为String
 *      方式一：
 *          调用被转换数据类型的toString();方法，该方法不会影响到原变量的数据类型，它会将转换后的结果返回，返回值的数据类型则是String。
 *          需要注意的是：null和undefined这两个值没有toString()方法。
 *      方式二：
 *          调用String();函数，并将被转换的数据作为参数传递给函数
 *          使用String();函数做强制类型转换时：
 *              对于Number和Boolean实际上就是调用的toString()方法
 *              但是对于null和undefined，就不会调用toString()方法，它会将null，直接转换为"null"、将undefined直接转换为"undefined"
 *          使用String();函数的方式：
 *              直接写：  String(参数);  即可，若有返回值：var a =  String(参数);
 *
 * 4. 将其他数据类型转换为Number
 *      方式一：
 *          使用Number()函数，用法同String()函数
 *              字符串 --> 数字
 *                  如果是纯数字的字符串，则直接将其转换为数字
 *                  如果字符串中有非数字的内容，则转换为NaN
 *                  如果字符串是一个空串，则转换为0
 *              布尔 --> 数字
 *                  true 转换成 1
 *                  false 转换成 0
 *              null --> 数字  == 0
 *              undefined --> 数字  NaN
 *       方式二：
 *          这种方式专门用来对付字符串
 *          parseInt()：把一个字符串转换为一个整数
 *              parseInt()函数可以将一个字符串中的有效内容取出来，然后转换为Number
 *          parseFloat()：把一个字符串转换为一个浮点数
 *              parseFloat()作用和parseInt()类似，不同的是它可以获得有效的小数
 *          如果对非String使用parseInt()和parseFloat()，它会先将其转换为String，然后在操作
 *
 *  5. 将其他数据类型转换为Boolean
 *      使用Boolean()函数
 *          数字 --> 布尔
 *              除了0和NaN其余的都是true
 *          字符串 --> 布尔
 *              除了空串，其余的都是true，空格的字符串也是true
 *          null --> 布尔  false
 *          undefined --> 布尔  false
 *          对象也会转换为 true
 * */

